問題の説明

二分探索木復習

4つの主要な操作をサポートする二分探索木を実装する必要があります。

  • 操作の数は $N$ であり、$1 \le N \le 2 \cdot 10^5$ です。
  • ins k: 整数キー $k$ を二分探索木に挿入します。もし $k$ が既に存在する場合は、この操作は無効です。
  • find k: キー $k$ を検索します。存在する場合は 'true'、そうでない場合は 'false' を出力します。
  • succ k: $k$ の次なる要素($k$ より厳密に大きい最小のキー)を見つけます。存在しない場合は 'null' を出力します。
  • pred k: $k$ の直前の要素($k$ より厳密に小さい最大のキー)を見つけます。存在しない場合は 'null' を出力します。
  • 重要な前提条件: 次なる要素および直前の要素のクエリにおいて、キー $k$ は必ず木内に存在することが保証されています。